package com.example.test_umeng

import android.app.Application
import android.os.Looper
import com.umeng.analytics.MobclickAgent
import com.umeng.commonsdk.UMConfigure
import java.util.concurrent.Executors

/**
 * @author ytx
 * @date 2025-10-08 08:43
 * @description
 */
class App:Application() {
    private var isAgree = true
    override fun onCreate() {
        super.onCreate()
        //预初始化:不会采集不会上报，仅初始化SDK，主线程中调用
        UMConfigure.preInit(this,"68e5ae23644c9e2c20478301","channel") //轻量级
        UMConfigure.setLogEnabled(true) //日志开关
        //判断用户是否同意过
        if (isAgree){
          delayInitUMeng()//冷启动优化
        }
        //用户点击同意，则进行初始化

    }

    fun delayInitUMeng(){
        //方案1：子线程中初始化
        Executors.newCachedThreadPool().submit {
            UMConfigure.init(this,"68e5ae23644c9e2c20478301","",UMConfigure.DEVICE_TYPE_PHONE,"")//重量级，阻塞主线程，影响启动时间
            //设置页面采集方案：手动采集
            MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.MANUAL)
        }
//        //方案2：主线程空闲的时候初始化
//        //IdleHandler ：Looper轮询器空闲的时候可以执行操作
//        Looper.myQueue().addIdleHandler {
//            UMConfigure.init(this,"68e5ae23644c9e2c20478301","channel",UMConfigure.DEVICE_TYPE_PHONE,"")//重量级，阻塞主线程，影响启动时间
//            false //false:空闲执行一次 true：每次空闲都执行
//        }

    }
}